Benjamin Otte [Wed, 8 Oct 2014 03:19:07 +0000 (05:19 +0200)]
themingbackground: Add a quick exit for default case
In the case where the background is completely transparent, exit the
rendering functions before doing any expensive calculations.
Benjamin Otte [Wed, 8 Oct 2014 03:10:42 +0000 (05:10 +0200)]
themingbackground: Call shadow function directly
... instead of having a custom function for it.
Benjamin Otte [Wed, 8 Oct 2014 03:06:32 +0000 (05:06 +0200)]
themingbackground: Don't store (almost) unused variables
Instead, parse them directly to the one function that uses them.
Benjamin Otte [Wed, 8 Oct 2014 03:03:35 +0000 (05:03 +0200)]
themingbackground: Don't store bg_color in struct
Instead, keep it as a separate variable.
Benjamin Otte [Wed, 8 Oct 2014 02:59:58 +0000 (04:59 +0200)]
themingbackground: Use an array instead of 3 separate members
Simplifies code
Benjamin Otte [Wed, 8 Oct 2014 01:26:01 +0000 (03:26 +0200)]
render: Make rendering the background a single function
Benjamin Otte [Tue, 7 Oct 2014 21:50:33 +0000 (23:50 +0200)]
render: Overhaul gtk_render_handle()
The code did weird things with drawing backgrounds sometimes but not
really. Now it does this:
(1) render a background
(2) render a frame
(3) render an icon
- if no icon exists, draw the generic handle icon
Benjamin Otte [Tue, 7 Oct 2014 21:24:51 +0000 (23:24 +0200)]
colorswatch: Render background properly
We want to render a background *and* the current color (if there is
one).
This also adds a custom function gtk_render_add_content_path() which
adds the path of the current content area to a cairo_t.
Benjamin Otte [Tue, 7 Oct 2014 15:01:31 +0000 (17:01 +0200)]
colorswatch: Remove an unused variable
Benjamin Otte [Tue, 7 Oct 2014 14:52:42 +0000 (16:52 +0200)]
colorswatch: Render focus with gtk_render_focus()
Benjamin Otte [Tue, 7 Oct 2014 03:58:09 +0000 (05:58 +0200)]
colorswatch: Simplify drawing code
This adds a CSS box (complete with padding and border) for the icon. The
box is even drawn when no icon is present. Use the ".image" as the style
class here instead of -active-color-badge.
Use this box to draw the circle around the selection icon in Adwaita.
Matthias Clasen [Wed, 8 Oct 2014 02:04:26 +0000 (22:04 -0400)]
More removal of deprecated API
Dariusz Gadomski [Thu, 2 Oct 2014 12:10:39 +0000 (14:10 +0200)]
printing: Properly initialize auth_info in gtkprintbackend.c
auth_info should be a NULL-terminated array as it is used in
e.g. g_strdupv invocations iterating over its elements until
a NULL element is encountered.
https://bugzilla.gnome.org/show_bug.cgi?id=737777
Matthias Clasen [Tue, 7 Oct 2014 17:28:54 +0000 (13:28 -0400)]
Make touch-selection popovers font-inert
Just like context menus, these should not inherit font
settings from the text view they are attached to.
Matthias Clasen [Tue, 7 Oct 2014 17:25:53 +0000 (13:25 -0400)]
Add a style class for touch selection popovers
Lapo Calamandrei [Tue, 7 Oct 2014 10:22:38 +0000 (12:22 +0200)]
Adwaita: change spinbutton button color on backdrop
Contextually dim the spinbutton button color a little bit.
Matthias Clasen [Tue, 7 Oct 2014 04:45:59 +0000 (00:45 -0400)]
gtk3-demo: Don't use deprecated API
Replace various override calls.
Matthias Clasen [Tue, 7 Oct 2014 04:42:46 +0000 (00:42 -0400)]
Inspector: Use text attributes for monospace labels
Matthias Clasen [Tue, 7 Oct 2014 04:42:21 +0000 (00:42 -0400)]
Inspector: Use the new monospace support
Matthias Clasen [Tue, 7 Oct 2014 04:40:55 +0000 (00:40 -0400)]
Adwaita: Add .monospace style
Matthias Clasen [Tue, 7 Oct 2014 04:39:42 +0000 (00:39 -0400)]
GtkTextView: Add a monospace property
This is a convenient shortcut for a common case. It is implemented
by adding a .monospace style class to the text view, and letting
the theme decide about the monospace font to use.
Matthias Clasen [Tue, 7 Oct 2014 03:06:54 +0000 (23:06 -0400)]
GtkSidebar: Pick up the visible child from the stack
Same here: We need to synchronize the visible child with the
selected row when setting a stack on the sidebar. I've noticed
this problem in the sidebar example in gtk3-widget-factory.
Matthias Clasen [Tue, 7 Oct 2014 03:06:09 +0000 (23:06 -0400)]
GtkStackSwitcher: Pick up the visible child from the stack
We forgot to synchronize the visible child when setting a
stack on the switcher. Oops.
Matthias Clasen [Tue, 7 Oct 2014 02:33:19 +0000 (22:33 -0400)]
Add GtkTextViewClass to the docs
So that the existing information about draw_layer actually
ends up in the docs. While we are at it, document the other
vfuncs.
https://bugzilla.gnome.org/show_bug.cgi?id=737952
Michael Catanzaro [Sun, 5 Oct 2014 14:07:58 +0000 (09:07 -0500)]
tooltip: fix line wrapping
We enable line wrap on the internal GtkLabel, but nowadays this does
nothing unless we also set a max number of characters.
https://bugzilla.gnome.org/show_bug.cgi?id=737929
Vasiliy Nuzha [Mon, 6 Oct 2014 22:29:20 +0000 (02:29 +0400)]
Fix monitors enumeration bug
Fix monitors enumeration bug. By default used MONITORINFOEXW (UTF-16 Build) with wrong structure size
Jasper St. Pierre [Mon, 6 Oct 2014 20:36:52 +0000 (13:36 -0700)]
gdkwindow: Fix small typo
Benjamin Otte [Mon, 6 Oct 2014 20:18:20 +0000 (22:18 +0200)]
gdk: Fix gdk_cairo_create() without begin_paint()
We were translating the clip region twice in that case.
https://bugzilla.gnome.org/show_bug.cgi?id=737825
Changwoo Ryu [Mon, 6 Oct 2014 16:35:12 +0000 (01:35 +0900)]
Updated Korean translation
Kalev Lember [Mon, 6 Oct 2014 12:19:21 +0000 (14:19 +0200)]
gdk: Allow calling gdk_cairo_surface_create_from_pixbuf with scale 0
The documentation explicitly states that 0 is an allowed value for using
the same scale as the window. This 0 value is also explicitly checked
down in the call chain and handled.
Benjamin Otte [Mon, 6 Oct 2014 00:38:40 +0000 (02:38 +0200)]
gdk: Deprecate static gravities
... and remove all implementations. The API allows to not work "if the
server doesn't support it. So from now on, no server does!
Jasper St. Pierre [Fri, 29 Aug 2014 20:51:30 +0000 (13:51 -0700)]
cssshadowvalue: Add a cache for blurred Pango layouts
Drawing text with Pango is quite expensive, and drawing text and also
blurring it is *really* expensive. To prevent us from drawing a lot of
text and then blurring it a lot is *really* expensive.
We now cache the blurred pixels for the last layout and shadow we made,
which means we can repeatedly draw labels with a blurred text-shadow
extremely fast.
To detect whether the shadow is up-to-date, we track the serial of the
PangoLayout alongside the radius of the box shadow. We don't support
inset shadows nor spread on text-shadow, so we don't need to track
these.
Matthias Clasen [Sun, 5 Oct 2014 22:21:46 +0000 (18:21 -0400)]
GdkDevice: Avoid unnecessary critical
There is no need for a critical warning just because somebody
asked for a property that is not meaningful for the device.
Just document it as not useful for keyboard devices.
Matthias Clasen [Sun, 5 Oct 2014 17:39:15 +0000 (13:39 -0400)]
Cosmetic formatting fix
Matthias Clasen [Sun, 5 Oct 2014 17:34:28 +0000 (13:34 -0400)]
GtkPlacesSidebar: Don't pile up duplicate bookmarks
We get multiple notifications from the bookmark manager when
something changes. Every time, we reconstruct the sidebar contents
completely, by clearing the store. The bookmarks are added with
async calls though, and the code was forgetting to cancel outstanding
async requests, leading to multiple instances of the same bookmark
getting added. Use the cancellable we already have to prevent that.
This could be made much more efficient by not recreating the entire
sidebar quite so often (3-5 times for a single bookmark rename).
https://bugzilla.gnome.org/show_bug.cgi?id=737679
Wolfgang Stöggl [Sun, 5 Oct 2014 14:25:27 +0000 (14:25 +0000)]
Updated German translation
Lapo Calamandrei [Sun, 5 Oct 2014 10:27:55 +0000 (12:27 +0200)]
Adwaita: fix last vertically linked focused entry
Benjamin Otte [Sun, 5 Oct 2014 09:24:09 +0000 (11:24 +0200)]
x11: Remove overeager check
window->parent must exist, it's dereferenced a few lines below.
Avoids clang complaints.
Benjamin Otte [Sun, 5 Oct 2014 09:18:15 +0000 (11:18 +0200)]
gdk: Remove overeager checks
Parent is guaranteed to not be NULL. It can only ever be NULL for root
windows and root windows cannot be created with gdk_window_new() and
gdk_window_ensure_native() will exit early because they already are
native.
Also, both functions would crash a few lines below where parent gets
dereferenced.
Benjamin Otte [Sun, 5 Oct 2014 09:15:02 +0000 (11:15 +0200)]
x11: Remove unneeded and wrong return_if_fail()
It triggers coverity warnings.
Matthias Clasen [Sun, 5 Oct 2014 04:19:51 +0000 (00:19 -0400)]
GtkScrolledWindow: code cleanup
Remove return-if-fail parameter checks from static functions,
where we don't normally do these.
Matthias Clasen [Sun, 5 Oct 2014 04:13:09 +0000 (00:13 -0400)]
Cosmetic documentation improvements
Matthias Clasen [Sun, 5 Oct 2014 01:40:45 +0000 (21:40 -0400)]
Use .label in the theme css
Matthias Clasen [Sun, 5 Oct 2014 01:35:36 +0000 (21:35 -0400)]
Add a label style class
Lapo Calamandrei [Sat, 4 Oct 2014 22:56:48 +0000 (00:56 +0200)]
Adwaita: add vertically linked combos
Matthias Clasen [Sat, 4 Oct 2014 20:09:21 +0000 (16:09 -0400)]
docs: Add an index for 3.16 additions
Matthias Clasen [Sat, 4 Oct 2014 20:06:30 +0000 (16:06 -0400)]
Fix a thinko in the previous commit
GTK+ relies on this function silently failing for invalid data.
Matthias Clasen [Sat, 4 Oct 2014 19:52:02 +0000 (15:52 -0400)]
Add a function to load css from a resource
This is common enough that we should just provide an API for it
- we already had a function for this purpose anyway.
https://bugzilla.gnome.org/show_bug.cgi?id=672946
Matthias Clasen [Sat, 4 Oct 2014 19:45:16 +0000 (15:45 -0400)]
Trivial documentation tweaks
Matthias Clasen [Sat, 4 Oct 2014 19:14:26 +0000 (15:14 -0400)]
widget-factory: Cosmetic improvement
Matthias Clasen [Sat, 4 Oct 2014 19:00:10 +0000 (15:00 -0400)]
widget-factory: More vertical linking examples
Lapo Calamandrei [Sat, 4 Oct 2014 18:23:10 +0000 (20:23 +0200)]
Adwaita: added style for vertically linked entries
Matthias Clasen [Sat, 4 Oct 2014 16:10:04 +0000 (12:10 -0400)]
printing: Avoid missing icons
I've noticed a missing image show up in my print dialog, where
the printer reported "printer-paused" as icon. Rearrange things
so we always fall back to "printer" for printer icons.
Matthias Clasen [Sat, 4 Oct 2014 16:19:15 +0000 (12:19 -0400)]
printing: Make GtkPrinter have a useful icon by default
It causes complication elsewhere if gtk_printer_get_icon_name()
returns NULL initially. So make the icon name default to
"printer".
Matthias Clasen [Sat, 4 Oct 2014 15:56:44 +0000 (11:56 -0400)]
printing: Another tweak to sheet drawing
After consultation, revisit the vertical centering to center
the first 'stack', and put the second one behind it.
Matthias Clasen [Sat, 4 Oct 2014 15:53:14 +0000 (11:53 -0400)]
inspector: Down the model tree
Show nested tree models, inside filter or sort models. Without
this, you can't get at the data.
Matthias Clasen [Sat, 4 Oct 2014 15:43:50 +0000 (11:43 -0400)]
Small code rearrangement
Benjamin Otte [Sat, 4 Oct 2014 15:18:18 +0000 (17:18 +0200)]
docs: Fix some copy/paste errors
Benjamin Otte [Fri, 3 Oct 2014 14:19:34 +0000 (16:19 +0200)]
print: Add a .paper style class
... and use it in the print preview.
Benjamin Otte [Fri, 3 Oct 2014 14:15:10 +0000 (16:15 +0200)]
docs: Add a man page fro gtk3-demo-application
It is an installed binary, so it needs a man page!
Matthias Clasen [Sat, 4 Oct 2014 15:00:10 +0000 (11:00 -0400)]
printing: Simplify sheet drawing
We don't need the scaling support anymore - icon sizes are
no longer settable.
Matthias Clasen [Sat, 4 Oct 2014 14:53:57 +0000 (10:53 -0400)]
print: Center sheet drawing horizontally
Center the page ordering indicator horizontally, relative to the
spinbutton above it.
Matthias Clasen [Sat, 4 Oct 2014 14:38:59 +0000 (10:38 -0400)]
print: Center sheet drawing vertically
Center the page ordering indicator vertically, relative to the
checkboxes next to it.
Matthias Clasen [Sat, 4 Oct 2014 03:20:18 +0000 (23:20 -0400)]
Remove an unused variable
Matthias Clasen [Sat, 4 Oct 2014 02:12:54 +0000 (22:12 -0400)]
inspector: Fix a thinko
We still need to possibly scan the toplevel after selecting
a widget, since we don't monitor the list of toplevels, so
the window may not be in our tree yet. This was broken in
commit
e7bd73f2b0db50c00ef390b756c6597674d7b473.
Piotr Drąg [Fri, 3 Oct 2014 15:38:20 +0000 (17:38 +0200)]
Updated POTFILES.skip
Benjamin Otte [Fri, 3 Oct 2014 13:48:29 +0000 (15:48 +0200)]
libgail: Add deprecation guards
Benjamin Otte [Fri, 3 Oct 2014 13:47:51 +0000 (15:47 +0200)]
imcontextxim: Remove broken custom drawing code
Just use regular GtkWindow styling instead.
Matthias Clasen [Fri, 3 Oct 2014 13:33:35 +0000 (09:33 -0400)]
GtkBuilder: Don't use deprecated types in examples
Matthias Clasen [Fri, 3 Oct 2014 13:29:45 +0000 (09:29 -0400)]
GtkBuilder: Undo the type name heuristic changes
These turned out to break existing ui files, concretely
GWeatherLocationEntry was no longer guessed correctly.
Update the testcases to reflect this, and add a testcase
for GWeather.
Matthias Clasen [Fri, 3 Oct 2014 05:13:02 +0000 (01:13 -0400)]
widget-factory: Make the record button more interesting
Matthias Clasen [Fri, 3 Oct 2014 05:03:52 +0000 (01:03 -0400)]
widget-factory: Add a sidebar example
Benjamin Otte [Fri, 3 Oct 2014 04:59:14 +0000 (06:59 +0200)]
gtk-demo: Replace old code
"Hey I know, let's do an easter egg!"
"What kind of easter egg?"
"We can nest lots of textviews!"
"Sounds cool!"
...
"But how does one see a textview inside a textview?"
"What do you mean?"
"Well, it just looks like black text on a white background."
"You mean it's the same as if we just duplicated the text?"
"Yeah!"
"Hrm, maybe we can put a frame around it."
"Sounds good. I'll stuff the textviews in a GtkFrame."
"What? Why? Let's use a GtkEventBox and override its background"
"Why is that a good idea when we have GtkFrame?"
"Because I said so!"
"Okay."
Benjamin Otte [Fri, 3 Oct 2014 04:48:18 +0000 (06:48 +0200)]
gtk-demo: Remove useless code in colorsel example
We have the color stored in a global variable already. There is
absolutely no need to also force it into the CSS machinery.
Benjamin Otte [Fri, 3 Oct 2014 04:45:38 +0000 (06:45 +0200)]
gtk-demo: Improve flowbox demo code
Overriding the background color for a color swatch is wrong. The color
is not the background, it's the foreground, so it should be painted in
a draw signal handler.
Benjamin Otte [Fri, 3 Oct 2014 04:40:13 +0000 (06:40 +0200)]
gtk-demo: Remove unneeded code
Overlays are transparent by default, no need to override them to be.
Benjamin Otte [Fri, 3 Oct 2014 04:38:21 +0000 (06:38 +0200)]
gtk-demo: Properly override font color in combobox example
Benjamin Otte [Fri, 3 Oct 2014 04:27:49 +0000 (06:27 +0200)]
stylecontext: Add missing docs for deprecations
Benjamin Otte [Fri, 3 Oct 2014 04:17:12 +0000 (06:17 +0200)]
fontchooserwidget: Use text attributes for the preview
... instead of adding a custom CSS provider.
Benjamin Otte [Fri, 3 Oct 2014 04:14:05 +0000 (06:14 +0200)]
cellrendereraccel: Remove unused variables
Benjamin Otte [Fri, 3 Oct 2014 03:52:49 +0000 (05:52 +0200)]
stylecontext: Deprecate functions
- gtk_style_context_get_background_color()
- gtk_style_context_get_border_color()
Those functions shouldn't be used anymore, because they don't represent
anything from the CSS styling we support. The background color often
isn't used due to background images and there are actually 4 different
border colors (1 for each side) - if there isn't also a border image in
use.
Benjamin Otte [Fri, 3 Oct 2014 03:46:49 +0000 (05:46 +0200)]
print: Improve sheet drawing a bit
This is only one step in the right direction. Long term this code should
probably be replaced by real widgets.
Benjamin Otte [Thu, 2 Oct 2014 13:56:50 +0000 (15:56 +0200)]
theming: Use gtk_style_context_peek_property()
instead of outdated accessors.
Benjamin Otte [Thu, 2 Oct 2014 13:38:32 +0000 (15:38 +0200)]
scrolledwindow: Rewrite overshoot code with regular styling
Instead of drawing a gradient in the background color, draw a CSS box.
And change the theme so instead of setting just a background color it
draws a gradient.
The resulting visuals are the same.
Benjamin Otte [Thu, 2 Oct 2014 12:07:27 +0000 (14:07 +0200)]
scrolledwindow: Don't use LIGHTEN operator
For the overshoot gradient, using OVER is fine. Simplifies the code and
increases performance.
Benjamin Otte [Thu, 2 Oct 2014 12:05:19 +0000 (14:05 +0200)]
scrolledwindow: Remove unused variable
Benjamin Otte [Thu, 2 Oct 2014 03:17:29 +0000 (05:17 +0200)]
label: Simplify rendering code
Instead of drawing text for selections and links manually, use the
gtk_render_background() and gtk_render_layout() functions.
As a side effect, this allows shadows on selected text and links
and real backgrounds (like gradients or images), too.
Benjamin Otte [Thu, 2 Oct 2014 02:17:14 +0000 (04:17 +0200)]
combobox: Don't set cell view background
This can be done with CSS these days. Also, these days the background of
cell views is transparent, so it doesn't even have to be done.
Benjamin Otte [Thu, 2 Oct 2014 02:15:57 +0000 (04:15 +0200)]
entrycompletion: Remove outdated code
I tried asking but nobody knew why it is necessary to set the background
color of the first cell. It seems with CSS styling this is completely
unnecessary.
Benjamin Otte [Thu, 2 Oct 2014 01:00:39 +0000 (03:00 +0200)]
sidebar: Fix gcc warning
Benjamin Otte [Mon, 16 Jun 2014 14:23:11 +0000 (16:23 +0200)]
themingengine: Call real API render functions
No need to call the private versions anymore now that the real ones
don't call into the theming engine.
Benjamin Otte [Mon, 16 Jun 2014 14:17:45 +0000 (16:17 +0200)]
themingengine: Stop using it
Instead, call the default theme engine's code directly.
Benjamin Otte [Mon, 16 Jun 2014 02:18:51 +0000 (04:18 +0200)]
themingengine: Move actual render functions to gtkrender.c
GtkThemingEngine just always calls
gtk_do_render_foo(engine->priv->context, ...)
now. Other than that, the code is unchanged.
Benjamin Otte [Sun, 15 Jun 2014 15:57:59 +0000 (17:57 +0200)]
stylecontext: Split render functions out into gtkrender.[ch]
Jasper St. Pierre [Fri, 29 Aug 2014 21:48:29 +0000 (14:48 -0700)]
cssshadowvalue: Move the check for blurring into its own function
This makes it easier to update the check later.
Jasper St. Pierre [Sat, 30 Aug 2014 00:33:27 +0000 (17:33 -0700)]
cssshadowvalue: Rename shadow_key to original_cr_key
shadow_key is a poor name for this, and we're going to add more user
data keys, so rename it to something more indicative of what it's used
for.
Benjamin Otte [Thu, 2 Oct 2014 00:23:34 +0000 (02:23 +0200)]
css: Queue resize for properties that affect clip
This fixes shadows that are animated not updating the clip of the widget
they are drawn on. An example of this are the buttons in the CSS shadows
example in gtk-demo.
Reftest included
Benjamin Otte [Wed, 1 Oct 2014 04:49:01 +0000 (06:49 +0200)]
css: Have finer-grained definitions for effects of CSS props
This adds the GtkCssAffects enum and implements it for all style
properties.
So far, this is not exposed outside of the implementation file.
Benjamin Otte [Wed, 1 Oct 2014 04:04:19 +0000 (06:04 +0200)]
image: Implement clipping support for icon-shadow
Testcase is attached.
Benjamin Otte [Mon, 29 Sep 2014 21:10:41 +0000 (23:10 +0200)]
tests: Add a test for a performance optimisation
text-shadow is too slow. Running this testcase reveals that.